imagedefinition: Remove icon-size
authorBenjamin Otte <otte@redhat.com>
Tue, 1 Dec 2015 03:44:29 +0000 (04:44 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 1 Dec 2015 23:29:30 +0000 (00:29 +0100)
The size of icons is a property that is relevant to who is rendering the
icon, not to the icon itself.

Example: Starting a DND operation from an entry icon should cause the
icon to resize (from the entr icon's size to the DND icon size).

gtk/gtkdnd.c
gtk/gtkdragsource.c
gtk/gtkiconhelper.c
gtk/gtkimagedefinition.c
gtk/gtkimagedefinitionprivate.h

index b5dfe09e4ee78900c3cff77943883982392b8059..81abab0dcaf99de883f1a2402b014a184e53fd20 100644 (file)
@@ -2491,7 +2491,7 @@ gtk_drag_begin_internal (GtkWidget          *widget,
         }
       else
         {
-          icon = gtk_image_definition_new_icon_name ("text-x-generic", GTK_ICON_SIZE_DND);
+          icon = gtk_image_definition_new_icon_name ("text-x-generic");
           set_icon_helper (info->context, icon, 0, 0, FALSE);
           gtk_image_definition_unref (icon);
         }
@@ -2777,6 +2777,7 @@ set_icon_helper (GdkDragContext     *context,
       _gtk_icon_helper_set_window (info->icon_helper, gdk_drag_context_get_source_window (context));
     }
   _gtk_icon_helper_set_definition (info->icon_helper, def);
+  _gtk_icon_helper_set_icon_size (info->icon_helper, GTK_ICON_SIZE_DND);
 
   display = gdk_window_get_display (gdk_drag_context_get_source_window (context));
   _gtk_icon_helper_get_size (info->icon_helper, 
@@ -2902,7 +2903,7 @@ gtk_drag_set_icon_stock (GdkDragContext *context,
   g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
   g_return_if_fail (stock_id != NULL);
 
-  def = gtk_image_definition_new_stock (stock_id, GTK_ICON_SIZE_DND);
+  def = gtk_image_definition_new_stock (stock_id);
   set_icon_helper (context, def, hot_x, hot_y, FALSE);
 
   gtk_image_definition_unref (def);
@@ -3080,7 +3081,7 @@ gtk_drag_set_icon_name (GdkDragContext *context,
   g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
   g_return_if_fail (icon_name != NULL);
 
-  def = gtk_image_definition_new_icon_name (icon_name, GTK_ICON_SIZE_DND);
+  def = gtk_image_definition_new_icon_name (icon_name);
   set_icon_helper (context, def, hot_x, hot_y, FALSE);
 
   gtk_image_definition_unref (def);
@@ -3111,7 +3112,7 @@ gtk_drag_set_icon_gicon (GdkDragContext *context,
   g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
   g_return_if_fail (icon != NULL);
 
-  def = gtk_image_definition_new_gicon (icon, GTK_ICON_SIZE_DND);
+  def = gtk_image_definition_new_gicon (icon);
   set_icon_helper (context, def, hot_x, hot_y, FALSE);
 
   gtk_image_definition_unref (def);
index 5a4602234ece651abfcf4effacfaab0da60f7caa..6713b997361df2a174305bca805b4b6a762a6aaf 100644 (file)
@@ -396,7 +396,7 @@ gtk_drag_source_set_icon_stock (GtkWidget   *widget,
   g_return_if_fail (site != NULL);
 
   gtk_image_definition_unref (site->image_def);
-  site->image_def = gtk_image_definition_new_stock (stock_id, GTK_ICON_SIZE_DND);
+  site->image_def = gtk_image_definition_new_stock (stock_id);
 }
 
 /**
@@ -422,7 +422,7 @@ gtk_drag_source_set_icon_name (GtkWidget   *widget,
   g_return_if_fail (site != NULL);
 
   gtk_image_definition_unref (site->image_def);
-  site->image_def = gtk_image_definition_new_icon_name (icon_name, GTK_ICON_SIZE_DND);
+  site->image_def = gtk_image_definition_new_icon_name (icon_name);
 }
 
 /**
@@ -448,6 +448,6 @@ gtk_drag_source_set_icon_gicon (GtkWidget *widget,
   g_return_if_fail (site != NULL);
 
   gtk_image_definition_unref (site->image_def);
-  site->image_def = gtk_image_definition_new_gicon (icon, GTK_ICON_SIZE_DND);
+  site->image_def = gtk_image_definition_new_gicon (icon);
 }
 
index 1429fda3e66d32c419b64cd25365d967c01fedac..126c81d12fac2aed2cbf0be7e2a71d5e00285d3b 100644 (file)
@@ -53,8 +53,6 @@ static void
 gtk_icon_helper_take_definition (GtkIconHelper      *self,
                                  GtkImageDefinition *def)
 {
-  GtkIconSize icon_size;
-
   _gtk_icon_helper_clear (self);
 
   if (def == NULL)
@@ -63,10 +61,6 @@ gtk_icon_helper_take_definition (GtkIconHelper      *self,
   gtk_image_definition_unref (self->priv->def);
   self->priv->def = def;
 
-  icon_size = gtk_image_definition_get_icon_size (def);
-  if (icon_size != GTK_ICON_SIZE_INVALID)
-    self->priv->icon_size = icon_size;
-  
   _gtk_icon_helper_invalidate (self);
 }
 
@@ -891,7 +885,8 @@ _gtk_icon_helper_set_gicon (GtkIconHelper *self,
                             GIcon *gicon,
                             GtkIconSize icon_size)
 {
-  gtk_icon_helper_take_definition (self, gtk_image_definition_new_gicon (gicon, icon_size));
+  gtk_icon_helper_take_definition (self, gtk_image_definition_new_gicon (gicon));
+  _gtk_icon_helper_set_icon_size (self, icon_size);
 }
 
 void 
@@ -899,7 +894,8 @@ _gtk_icon_helper_set_icon_name (GtkIconHelper *self,
                                 const gchar *icon_name,
                                 GtkIconSize icon_size)
 {
-  gtk_icon_helper_take_definition (self, gtk_image_definition_new_icon_name (icon_name, icon_size));
+  gtk_icon_helper_take_definition (self, gtk_image_definition_new_icon_name (icon_name));
+  _gtk_icon_helper_set_icon_size (self, icon_size);
 }
 
 void 
@@ -907,7 +903,8 @@ _gtk_icon_helper_set_icon_set (GtkIconHelper *self,
                                GtkIconSet *icon_set,
                                GtkIconSize icon_size)
 {
-  gtk_icon_helper_take_definition (self, gtk_image_definition_new_icon_set (icon_set, icon_size));
+  gtk_icon_helper_take_definition (self, gtk_image_definition_new_icon_set (icon_set));
+  _gtk_icon_helper_set_icon_size (self, icon_size);
 }
 
 void 
@@ -936,7 +933,8 @@ _gtk_icon_helper_set_stock_id (GtkIconHelper *self,
                                const gchar *stock_id,
                                GtkIconSize icon_size)
 {
-  gtk_icon_helper_take_definition (self, gtk_image_definition_new_stock (stock_id, icon_size));
+  gtk_icon_helper_take_definition (self, gtk_image_definition_new_stock (stock_id));
+  _gtk_icon_helper_set_icon_size (self, icon_size);
 }
 
 gboolean
index 1486031da8fb08afec3307171586bfff57b299f8..351dbe4b0208e36bc831b2a8d8b4de4dc0a2b88e 100644 (file)
@@ -48,7 +48,6 @@ struct _GtkImageDefinitionStock {
   gint ref_count;
 
   char *id;
-  GtkIconSize icon_size;
 };
 
 struct _GtkImageDefinitionIconSet {
@@ -56,7 +55,6 @@ struct _GtkImageDefinitionIconSet {
   gint ref_count;
 
   GtkIconSet *icon_set;
-  GtkIconSize icon_size;
 };
 
 struct _GtkImageDefinitionAnimation {
@@ -72,7 +70,6 @@ struct _GtkImageDefinitionIconName {
   gint ref_count;
 
   char *icon_name;
-  GtkIconSize icon_size;
 };
 
 struct _GtkImageDefinitionGIcon {
@@ -80,7 +77,6 @@ struct _GtkImageDefinitionGIcon {
   gint ref_count;
 
   GIcon *gicon;
-  GtkIconSize icon_size;
 };
 
 struct _GtkImageDefinitionSurface {
@@ -152,8 +148,7 @@ gtk_image_definition_new_pixbuf (GdkPixbuf *pixbuf,
 }
 
 GtkImageDefinition *
-gtk_image_definition_new_stock (const char  *stock_id,
-                                GtkIconSize  icon_size)
+gtk_image_definition_new_stock (const char *stock_id)
 {
   GtkImageDefinition *def;
 
@@ -162,14 +157,12 @@ gtk_image_definition_new_stock (const char  *stock_id,
 
   def = gtk_image_definition_alloc (GTK_IMAGE_STOCK);
   def->stock.id = g_strdup (stock_id);
-  def->stock.icon_size = icon_size;
 
   return def;
 }
 
 GtkImageDefinition *
-gtk_image_definition_new_icon_set (GtkIconSet  *icon_set,
-                                   GtkIconSize  icon_size)
+gtk_image_definition_new_icon_set (GtkIconSet *icon_set)
 {
   GtkImageDefinition *def;
 
@@ -180,7 +173,6 @@ gtk_image_definition_new_icon_set (GtkIconSet  *icon_set,
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   def->icon_set.icon_set = gtk_icon_set_ref (icon_set);
 G_GNUC_END_IGNORE_DEPRECATIONS;
-  def->icon_set.icon_size = icon_size;
 
   return def;
 }
@@ -202,8 +194,7 @@ gtk_image_definition_new_animation (GdkPixbufAnimation *animation,
 }
 
 GtkImageDefinition *
-gtk_image_definition_new_icon_name (const char  *icon_name,
-                                    GtkIconSize  icon_size)
+gtk_image_definition_new_icon_name (const char *icon_name)
 {
   GtkImageDefinition *def;
 
@@ -212,14 +203,12 @@ gtk_image_definition_new_icon_name (const char  *icon_name,
 
   def = gtk_image_definition_alloc (GTK_IMAGE_ICON_NAME);
   def->icon_name.icon_name = g_strdup (icon_name);
-  def->icon_name.icon_size = icon_size;
 
   return def;
 }
 
 GtkImageDefinition *
-gtk_image_definition_new_gicon (GIcon       *gicon,
-                                GtkIconSize  icon_size)
+gtk_image_definition_new_gicon (GIcon *gicon)
 {
   GtkImageDefinition *def;
 
@@ -228,7 +217,6 @@ gtk_image_definition_new_gicon (GIcon       *gicon,
 
   def = gtk_image_definition_alloc (GTK_IMAGE_GICON);
   def->gicon.gicon = g_object_ref (gicon);
-  def->gicon.icon_size = icon_size;
 
   return def;
 }
@@ -303,29 +291,6 @@ gtk_image_definition_get_storage_type (const GtkImageDefinition *def)
   return def->type;
 }
 
-GtkIconSize
-gtk_image_definition_get_icon_size (const GtkImageDefinition *def)
-{
-  switch (def->type)
-    {
-    default:
-      g_assert_not_reached ();
-    case GTK_IMAGE_EMPTY:
-    case GTK_IMAGE_PIXBUF:
-    case GTK_IMAGE_ANIMATION:
-    case GTK_IMAGE_SURFACE:
-      return GTK_ICON_SIZE_INVALID;
-    case GTK_IMAGE_STOCK:
-      return def->stock.icon_size;
-    case GTK_IMAGE_ICON_SET:
-      return def->icon_set.icon_size;
-    case GTK_IMAGE_ICON_NAME:
-      return def->icon_name.icon_size;
-    case GTK_IMAGE_GICON:
-      return def->gicon.icon_size;
-    }
-}
-
 gint
 gtk_image_definition_get_scale (const GtkImageDefinition *def)
 {
index 63a580dfff036746a5b93041ac6d93216766ce17..b9111ad37fdf62c7601cbc428e7efbdcc1e905d7 100644 (file)
@@ -28,23 +28,18 @@ typedef union _GtkImageDefinition GtkImageDefinition;
 GtkImageDefinition *    gtk_image_definition_new_empty          (void);
 GtkImageDefinition *    gtk_image_definition_new_pixbuf         (GdkPixbuf                      *pixbuf,
                                                                  int                             scale);
-GtkImageDefinition *    gtk_image_definition_new_stock          (const char                     *stock_id,
-                                                                 GtkIconSize                     icon_size);
-GtkImageDefinition *    gtk_image_definition_new_icon_set       (GtkIconSet                     *icon_set,
-                                                                 GtkIconSize                     icon_size);
+GtkImageDefinition *    gtk_image_definition_new_stock          (const char                     *stock_id);
+GtkImageDefinition *    gtk_image_definition_new_icon_set       (GtkIconSet                     *icon_set);
 GtkImageDefinition *    gtk_image_definition_new_animation      (GdkPixbufAnimation             *animation,
                                                                  int                             scale);
-GtkImageDefinition *    gtk_image_definition_new_icon_name      (const char                     *icon_name,
-                                                                 GtkIconSize                     icon_size);
-GtkImageDefinition *    gtk_image_definition_new_gicon          (GIcon                          *gicon,
-                                                                 GtkIconSize                     icon_size);
+GtkImageDefinition *    gtk_image_definition_new_icon_name      (const char                     *icon_name);
+GtkImageDefinition *    gtk_image_definition_new_gicon          (GIcon                          *gicon);
 GtkImageDefinition *    gtk_image_definition_new_surface        (cairo_surface_t                *surface);
 
 GtkImageDefinition *    gtk_image_definition_ref                (GtkImageDefinition             *def);
 void                    gtk_image_definition_unref              (GtkImageDefinition             *def);
 
 gboolean                gtk_image_definition_get_storage_type   (const GtkImageDefinition       *def);
-GtkIconSize             gtk_image_definition_get_icon_size      (const GtkImageDefinition       *def);
 gint                    gtk_image_definition_get_scale          (const GtkImageDefinition       *def);
 GdkPixbuf *             gtk_image_definition_get_pixbuf         (const GtkImageDefinition       *def);
 const gchar *           gtk_image_definition_get_stock          (const GtkImageDefinition       *def);